package Model;

import java.util.ArrayList;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * @author ddavilac
 */
@Entity
@Table (name="PROYECTO")
public class Proyecto {
    @Id    
    private String Nombre;
    @Lob @Basic(optional=true)
    private String Alcance;
    @Lob @Basic(optional=true)
    private String Comentario;
    @Basic(optional=true)
    private String Presupuesto;
    @OneToOne 
    @JoinColumn(name="Lider")
    private Persona Lider;   
    @OneToOne 
    @JoinColumn(name="Creador")
    private Persona Creador;  
    @OneToMany
    @JoinColumn(name="Proyecto")
    private Collection<Tarea> Tareas;

    public Proyecto() {
        this.Nombre = "";
        this.Alcance = "";
        this.Comentario = "";
        this.Presupuesto = "";
        this.Lider = new Persona();
        this.Creador = new Persona();
        this.Tareas = new ArrayList<>();
    }
    
    public String getNombre() {
        return Nombre;
    }

    public void setNombre(String Nombre) {
        this.Nombre = Nombre;
    }

    public String getAlcance() {
        return Alcance;
    }

    public void setAlcance(String Alcance) {
        this.Alcance = Alcance;
    }

    public String getComentario() {
        return Comentario;
    }

    public void setComentario(String Comentario) {
        this.Comentario = Comentario;
    }

    public String getPresupuesto() {
        return Presupuesto;
    }

    public void setPresupuesto(String Presupuesto) {
        this.Presupuesto = Presupuesto;
    }
    
    public Persona getLider() {
        return Lider;
    }

    public void setLider(Persona Lider) {
        this.Lider = Lider;
    }

    public Persona getCreador() {
        return Creador;
    }

    public void setCreador(Persona Creador) {
        this.Creador = Creador;
    }

    public Collection<Tarea> getTareas() {
        return Tareas;
    }

    public void setTareas(Collection<Tarea> Tareas) {
        this.Tareas = Tareas;
    }
    
}
